#include<iostream>
#include<cstring>

#define MAXN 105
using namespace std;

/*
查找单词：
	输入字典，可以从水平、竖直、对角线方向查找，输出起始位置和结束位置。

输入样例：
5
EDEEE
DISKE
ESEEE
ECEEE
EEEEE
DISC
DISK
DISP
0

输出样例：
1,2 4,2
2,1 2,4
Not found
*/
// 记录8个方位
int dir[8][2]={{0,1},{0,-1},{1,0},{-1,0},{-1,-1},{-1,1},{1,-1},{1,1}};

// 存储字母矩阵
char map[MAXN][MAXN];

// 字符串
char str[MAXN];

int main()
{
	int n, i, j, x, y;
	
	// 输入字母矩阵
	scanf("%d", &n);
 	for(i=0; i<n; i++)
		scanf("%s", map[i]); // 接收字符串
		
	// 输入若干个单词
 	while(scanf("%s", str))
	{
		// 输入"0"结束
		if(str[0]=='0') break;
		
		// 获取字符串长度
		int len = strlen(str);
		
		bool flag = false;
		
		// 遍历起始位置
		for(i=0; i<n; i++)
		{
			for(j=0;j<n;j++)	
			{
				// 穷举每个方位
				for(int d=0;d<8;d++)	
				{
					// 遍历str单词 
					for(int k=0;k<len;k++)
					{
						// 求出str[k]字母的坐标(x,y)
						x = i + dir[d][0]*k;
						y = j + dir[d][1]*k;
						
						// 坐标超界或者不相同退出k的循环
						if(x<0 || x>=n || y<0 || y>=n || map[x][y]!=str[k])
							break;
						
						// 查找成功，置flag为true
						if(k==len-1) flag=true;
					}
					if(flag) break;
				}
				if(flag) break;
			}
			if(flag) break;
		}
		
		// 输出查找结果
		if(flag)	
			printf("%d,%d %d,%d\n",i+1, j+1, x+1, y+1);
		else
			printf("Not found\n");
	}
 	return 0;
}

